home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Modules / BackSpaceModules / Source / IconMosaicView / DefaultsTable.h < prev    next >
Text File  |  1993-01-25  |  2KB  |  65 lines

  1. /* File: DefaultsTable.h - NXString subclass for handling defaults
  2.  *
  3.  * By: Christopher Lane
  4.  * Symbolic Systems Resources Group
  5.  * Knowledge Systems Laboratory
  6.  * Stanford University
  7.  *
  8.  * Date:  25 January 1993
  9.  *
  10.  * Copyright: 1992 & 1993 by The Leland Stanford Junior University.
  11.  *            portions copyright 1992, 1993 by Christopher Lane
  12.  * This program may be distributed without restriction for non-commercial use.
  13.  */
  14.  
  15. #import <objc/NXStringTable.h>
  16.  
  17. #import <defaults/defaults.h>
  18.  
  19. #import <appkit/Application.h>
  20. #import <appkit/color.h>
  21.  
  22. #define SYSTEM "System"
  23.  
  24. #define getDefault(s) NXGetDefaultValue([NXApp appName], s)
  25.  
  26. #define getIntDefault(s) atoi(getDefault(s))
  27.  
  28. #define getBoolDefault(s) ((strncasecmp(getDefault(s), "Yes", 1) == 0) ? YES : NO)
  29.  
  30. #define writeBoolDefault(s, v) writeDefault(s, (v) ? "Yes" : "No")
  31.  
  32. #define getStringDefault(s) getDefault(s)
  33.  
  34. #define getFloatDefault(s) atof(getDefault(s))
  35.  
  36. #define getSystemDefault(s) NXGetDefaultValue(SYSTEM, s)
  37.  
  38. #define writeDefault(s, v) NXWriteDefault([NXApp appName], s, v)
  39.  
  40. #define writeStringDefault(s, v) NXWriteDefault([NXApp appName], s, v)
  41.  
  42. int writeIntDefault(const char *name, int value);
  43.  
  44. int writeFloatDefault(const char *name, float value);
  45.  
  46. int writeSizeDefault(const char *name, NXSize size);
  47. NXSize getSizeDefault(const char *name);
  48.  
  49. int writePointDefault(const char *name, NXPoint point);
  50. NXPoint getPointDefault(const char *name);
  51.  
  52. int writeColorDefault(const char *name, NXColor color);
  53. NXColor getColorDefault(const char *name);
  54.  
  55. @interface DefaultsTable : NXStringTable
  56.  
  57. - initFromFile:(const char *) file;
  58. - registerDefaults:(const char *) owner;
  59. - writeDefaults:(const char *) owner;
  60. - updateDefaults;
  61.  
  62. - (int) applyToDefaults:(const char *) owner function:(int (*)(const char *, const NXDefaultsVector)) routine;
  63.  
  64. @end
  65.